package com.ustcinfo.study.scala.r5.liuqiang

import org.apache.spark.{SparkConf, SparkContext}

/**
  * Author: Liu Qiang
  * Description: scala练习
  * Date: Created in 21:54 2018/8/3
  */
object LiuQiang {

  def main(args: Array[String]): Unit = {
    val sparkConf=new SparkConf().setMaster("local").setAppName("liuqiang")
    val sc =new SparkContext(sparkConf)
    val textRdd=sc.textFile("src/aaa")//获取文件转成Rdd

    textRdd.filter(x => x.trim().length()>0)
      .map(x => x.split("\\|")) //通过“|”来切分
      .map(x=>x(3))             //选取每行的第三个数据
      .map(x=>x.split(","))     //对第三组数据用“，”切分
      .flatMap(x => x)          //整合为一个数组
      .map(x => (x,1))          //将x转为（x，1）的格式
      .reduceByKey(_+_)         //通过key将他们的值相加
      .map(x=>(x._2,x._1))      //将（x，1）对调为（1，x）格式
      .sortByKey(false)        //降序排列
      .foreach(println)         //循环打印出来

  }
}
